Computer network security is becoming an increasingly urgent issue with the wide use of computer networks. To prevent and/or reduce the damage caused by network attacks, various security devices such as intrusion detection sensors (IDS's), as shown in FIG. 1, are deployed over a computer network to detect security-related events. For example, IDS's may be attached to routers, firewalls, switches and hosts. A security device is configured such that whenever it detects a suspicious network activity, e.g., a suspicious IP packet, it will submit a corresponding network event to a network security monitor, which is responsible for analyzing network events originated from different parts of the network and facilitating early detection of any potential network attacks.
Queries run against the information collected by the network security monitor may be used to identify attacks against the computer network and other security issues. Typically, to execute such queries, the information collected by the network security monitor must be stored in a database, and then various queries are run against the database using conventional DBMS mechanisms. While the volume of network events generated by the security devices in an average corporate network during a short period of time, such as an hour, can be stored and analyzed using conventional database systems, analyzing data collected over longer periods of time, such as days, weeks or months, or analyzing data collected from large networks, becomes impractical due to the very large volumes of data and the high rate at which the data is being received.